package com.mycompany.app.hr.pa.dao;

import java.util.Date;
import java.util.List;

import com.mycompany.app.dao.GenericDao;
import com.mycompany.app.hr.pa.model.Employee;
import com.mycompany.app.hr.pa.model.dto.SuperiorInfoDTO;

public interface IEmployeeDao extends GenericDao<Employee, String> {

    /**
     * get all superior, only support oracle.
     * 
     * @param gid
     * @return
     */
    public List<SuperiorInfoDTO> getSuperiors(String gid);

    /**
     * the subordinate is invalid if termination day before input date.
     * 
     * @param subordinateGid
     * @param superGid
     * @param date
     * @return
     */
    public Employee isValidDirectSubordinate(String subordinateGid,
            String superGid, Date date);
}
